package com.hopu.util;

import java.security.MessageDigest;
import java.util.UUID;

import org.apache.commons.codec.binary.Base64;

public class HouseUtil {
	
	//MD5密码加密工具类
		public static String getMD5(String password) {
			//声明一个字符串变量用于保存MD5格式的密码
			String hashPassWord = null;

				try {
					//1、将用户明文密码转成byte字节数组
					byte[] bytePassword = password.getBytes();

					//2、创建MessageDigest对象
					MessageDigest md = MessageDigest.getInstance("MD5");
					
					//3、对明文Byte字节数组的密码进行加密
					byte[] binaryData = md.digest(bytePassword);
					
					//4、将密码转换成Base64字符串
					hashPassWord = Base64.encodeBase64String(binaryData);
				} catch (Exception e) {
					//调用一个自定义的异常处理类
					//作用：当出现异常时，直接在控制台输出以下自定义异常提醒；
					new HouseException("加密失败", e);
				}
				//5、最后将加密好的用户密码返回
				return hashPassWord;
		}
		
		/**UUID工具类—用于数据库随机生成一个用户id（36位）*/
		public static String getUUID() {
			
			UUID uuid = UUID.randomUUID();
			
			String uuidStr = uuid.toString();
			
			return uuidStr;
			
		}
		
		//测试
		public static void main(String[] args) {
			
			//生成一个MD5加密格式的密码
			String hashPassword = getMD5("admin");
			System.out.println(hashPassword);
			
			
			//随机生成一个uuid格式的ID
			String uuid = getUUID();
			System.out.println(uuid);
			
		}
	
}
